它允许发现和管理各种 MCP 服务器及其相关的元数据、配置和功能。Github 地址:MCP registry。 本地运行前置条件:需要安装 Go 1.18+ 的环境和运行 MongoDB首先,我们需要将 registry 项目的源码下载到本地,然后在项目根目录下通过以下命令运行项目:go run . 种子文件导入:MCP_REGISTRY_SEED_FILE_PATH 和 MCP_REGISTRY_SEED_IMPORT 允许您在首次运行时自动导入初始数据,方便快速启动服务。 GitHub 集成:如果需要使用 GitHub 相关功能,可以通过设置 MCP_REGISTRY_GITHUB_CLIENT_ID 和 MCP_REGISTRY_GITHUB_CLIENT_SECRET 我专注于分享 Go 语言相关的技术知识,同时也会深入探讨 AI 领域的前沿技术。成功的路上并不拥挤,有没有兴趣结个伴?Go 开源库代表作:go-mongox 、go-optioner。
2025 年 12 月 16 日发布的 Registry v1.4.0 版本 ,不仅是技术规格的一次迭代,更是整个协议迈向成熟的重要里程碑。 标准化接口: MCP 定义了一套通用的 JSON-RPC 2.0 消息格式,使得任何兼容 MCP 的主机(Host)都可以直接与任何 MCP 服务器(Server)通信,而无需了解后者的底层实现细节。 这种模式是企业级“远程 MCP”部署的基石。 2025 年 12 月 16 日,modelcontextprotocol/registry 仓库发布了 v1.4.0 版本。 这一版本不仅仅是代码的更新,更是对整个注册表服务(Registry Service)数据模型的一次重构,旨在适应日益复杂的分布式生态系统。 如果说 Registry v1.4.0 是技术的升级,那么 Agentic AI 基金会 (AAIF) 的成立则是 MCP 走向行业标准的政治宣言。
“0 改动”适配 MCP Server Nacos 作为 MCP Registry,扮演控制面的角色,不仅管理 Tool 的元信息,还可以把存量 API 转化成 MCP 协议。 在整体实现中,Nacos 作为 MCP Registry,扮演控制面的角色来管理 Tool 的元信息,Higress 在数据面做协议转换和 RPC 调用。 match_rule_type: "prefix" servers: - name: nacos-registry type: nacos-mcp-registry { "mcpServers": { "nacos-registry": { "url": "http://localhost/registry/sse" } } } ,Nacos 社区有完备的多语言客户端生态,成熟的 Python、GO、Rust、Java、NodeJS 等主流语言的适配,帮你用最低的成本快速构建 AI 应用;随着 Nacos 演进,会推出越来越多
随着 MCP 越来越受欢迎,Go MCP 库应运而生。本文将介绍与MCP 相关的 Go 语言库。准备好了吗?准备一杯你最喜欢的咖啡或茶,随着本文一探究竟吧。 mcp-gomcp-go 是 Go 语言实现的 Model Context Protocol(MCP)库,通过这个库可以实现 LLM 应用与外部数据源和工具之间的无缝集成。 主要特点快速:高级接口意味着更少的代码和更快的开发速度简单:使用极少的样板代码构建 MCP 服务器完整:MCP Go 旨在提供 MCP 核心规范的完整实现快速入门package main import 亮点功能类型安全:将工具参数定义为原生 Go 结构体,其余部分由 mcp-golang 自动处理(如模式生成、反序列化、错误处理等)。 = nil { panic(err) } <-done } 小结本文介绍了 mcp-go 和 mcp-golang 两个库及其基本用法。
在 MCP 发布之后,有很多的类似 mcphub 之类的收集各种各样的 mcp 服务,现在敌对国家 Anthropic 终于发布了 registry(虽然我看不惯 Anthropic,但咱们中国人就是实用主义 官方的 Registry 正在 Preview,还无法访问,不过我相信很快国内大厂,诸如阿里和腾讯就会开始构建国内版的 Registry,部署真的很简单。 开源地址:https://github.com/modelcontextprotocol/registry 不多说废话,接下来说明如何快速部署和发布 MCP 应用。 快速部署 Registry 官方提供了 3 种部署 Registry 的方式,包括下载代码然后启动 docker、亦或是自己根据最新代码构建和预编译的 Docker。 brew install mcp-publisher 进入你的 MCP 服务,然后初始化它, mcp-publisher init 这个会创建一个用于描述 MCP 服务的server.json,以我之前弄的
随着 MCP 越来越受欢迎,Go MCP 官方库应运而生。本文将介绍如何在 Go 语言里面使用官方提供的库构建一个 MCP 客户端。 modelcontextprotocol/go-sdk要构建 MCP 客户端和服务器,我们需要使用 modelcontextprotocol/go-sdk 库。 该库的设计灵感来源于多个现有的 Go 语言 MCP SDK。 安装 MCP 库在 Go 项目根目录下,执行以下命令:go get github.com/modelcontextprotocol/go-sdk构建 MCP 客户端接下来,我们使用 go-sdk 库来构建一个通过 (*mcp.TextContent).Text) } } 小结本文介绍了如何通过 MCP 官方的 Go SDK 实现了一个 MCP 客户端,该客户端具备以下功能:使用 stdio 模式连接到 MCP
Go-MCP 不仅是一个 SDK,更是 MCP 开源生态的补齐。 项目地址:https://github.com/ThinkInAIXYZ/go-mcp 快速认识 Go-MCP SDK Go-MCP SDK 采用清晰的分层架构设计,确保代码模块化、可扩展性和可维护性。 在大模型应用快速进入大规模线上运行阶段的当下,基于 Go 语言开发的 Go-MCP 充分利用了 Go 的强类型系统、并发模型和内存管理机制,提供高度可靠的 MCP 协议的实现。 快速上手 安装 安装 Go-MCP 非常简单,只需使用 Go 的标准包管理工具 go get 命令: go get github.com/ThinkInAIXYZ/go-mcp 这将下载并安装 Go-MCP Go-MCP 需要 Go 1.18 或更高版本,以确保支持最新的语言特性和标准库。
// //Registry.h #if ! defined(AFX_REGISTRY_H__E0610A5D_7166_4D02_9D7E_11AF7CF8E229__INCLUDED_) #define AFX_REGISTRY_H__E0610A5D defined(AFX_REGISTRY_H__E0610A5D_7166_4D02_9D7E_11AF7CF8E229__INCLUDED_) // Registry.cpp : implementation file // #include "stdafx.h" #include "Registry.h" / // CRegistry CRegistry::CRegistry(HKEY hKey
前面我们介绍了如何使用buf加上proto-gen-go-mcp工具实现mcp-server代码的生成,并且介绍了最基础的一种本地实现代码的方式。 --connect-go_out=. --go-mcp_out=. example.proto protoc -I. -I/third/ --go_out=. --go-grpc_out=. --go-mcp_out=. example_service.proto 生成的代码和前一篇类似,这里就不详细介绍了,本质上只是把buf的自动化过程给手动实现了一遍。 STDIO版本的server package main import ( "context" "errors" "fmt" "github.com/mark3labs/mcp-go /mcp" "github.com/mark3labs/mcp-go/server" example "learn/langchain/protoc_gen_mcp/exp1/server
protoc-gen-go-mcp@latest 安装后确认下 % ls $GOPATH/bin |grep mcp protoc-gen-go-mcp 它的工作还依赖下面几个插件 /protoc-gen-go-mcp/cmd/protoc-gen-go-mcp"] - local: protoc-gen-go-mcp out: . |____example.connect.go | | | |____examplev1mcp | | | | |____example.pb.mcp.go | | | |____example.pb.go 生成的代码也不是新面孔,最后就是本插件生成的代码.pb.mcp.go。 "learn/langchain/protoc_gen_mcp/exp2/gen/go/example/v1/examplev1mcp" "github.com/mark3labs/mcp-go
/exp1/server" "github.com/mark3labs/mcp-go/server" ) func main() { s := server.NewMCPServer( 在使用的最后,我们分析下生成的.pb.mcp.go文件的源码 // Code generated by protoc-gen-mcp-go. /mcp-go/mcp" mcpserver "github.com/mark3labs/mcp-go/server" "encoding/json" "google.golang.org 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x7d}} ) // ExampleServiceServer is compatible with the grpc-go example_service_v1.PersonResponse, error) } // ConnectExampleServiceClient is compatible with the connectrpc-go
源码文件: pilot/pkg/serviceregistry/aggregate/controller.go Registry代表一个通过适配器插入到Pilot中的服务注册表,即Kubernetes 注册表中最后一个类型是 MCP,MCP 是 “Mesh Configuration Protocol” 的缩写。 Istio 使用了 MCP 实现了一个服务注册和路由配置的标准接口,MCP Server可以从Kubernetes,Cloud Foundry, Consul等获取服务信息和配置数据,并将这些信息通过MCP 初始化流程 Service Registry初始化的主要逻辑在Pilot-discovery程序的主函数中,对应的源码为:pilot/cmd/pilot-discovery/main.go和pilot/ 在pilot/pkg/bootstrap/server.go中,初始化了各种Service Registry,其流程如下图所示: (备注: MCP Registry尚在开发过程中) Pilot
启动 docker run -d -p 5000:5000 --restart=always --name registry registry:2 # 关闭并删除容器 # docker stop registry # docker rm registry # 2. docker rm registry docker run -d \ --restart=always \ --name registry \ -v "$(pwd)"/certs:/certs \ -e REGISTRY_HTTP_ADDR=0.0.0.0:5000 \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \ -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \ -p 5000:5000 \ registry:2 指示每个 Docker 守护进程信任该证书 # 在操作系统级别信任证书
前言 Docker 是围绕 Images 进行管理的 image.png 构建一个私有的镜像仓库可以更高效地管理镜像 在 Docker 中,镜像仓库叫 Registry A registry is Registry 是开源的,高弹性的,可以更为容易地对生产测试环境里的镜像进行定制化管理 The Registry is a stateless, highly scalable server side The Registry is open-source, under the permissive Apache license. 这里分享一下 Docker Registry 的相关基础,详细可以参阅 官方文档 Tip: 当前的最新版本为 Docker 1.10 Released on January 15, 2016
本文讲解如何实现Docker Registry,其实这个在第一篇Docker入门一文中已经简单介绍,本文仅是对一些细节做个说明。 Why Docker Registry? How to install Docker Registry? 其实创建私有的Docker仓库非常简单,只需要运行一个Registry容器即可,该容器存储在Docker HUB中。 docker run -d -p 5000:5000 -v /myregistry:/var/lib/registry registry -d 是后台启动容器。 5000 是 registry 服务端口。 -v 将容器 /var/lib/registry目录映射到宿主机的/myregistry,用于存放镜像数据。 需要注意的是在安装registry的节点和客户端需要访问私有Registry的节点都需要执行此步操作。 修改文之后执行以下命令重启节点docker。
go-micro框架的服务发现有自己能用的接口Registry。只要实现这个接口就可以定制自己的服务注册和发现。 go-micro在客户端做的负载,典型的Balancing-aware Client模式。 ? 服务端把服务的地址信息保存到Registry, 然后定时的心跳检查,或者定时的重新注册服务。 go-micro的能用Registry接口 type Registry interface { Register(*Service, ...RegisterOption) error Deregister 接下来我以go-micro的etcdv3为Registry的例给大家详细讲解一下go-micro的详细服务发现过程 go-micro 服务端注册服务 流程图 ? go-micro会把默认的selector替换成cacheSelector,具体的实现是在cmd.go的Before方法里 ?
随着 MCP 越来越受欢迎,Go MCP 库应运而生。本文将介绍如何在 Go 语言里面构建一个 MCP 服务器。 mcp-go要构建 MCP 客户端和服务器,我们需要使用 mcp-go 库。 mcp-go 是 Go 语言实现的 Model Context Protocol(MCP)库,通过这个库可以实现 LLM 应用与外部数据源和工具之间的无缝集成。 主要特点快速:高级接口意味着更少的代码和更快的开发速度简单:使用极少的样板代码构建 MCP 服务器完整:MCP Go 旨在提供 MCP 核心规范的完整实现安装 MCP 库在 Go 项目根目录下,执行以下命令 :go get github.com/mark3labs/mcp-go构建 MCP 服务器接下来,我们使用 mcp-go 提供的 server 模块,构建一个通过 stidio 方式连接的 MCP 服务器
随着 MCP 越来越受欢迎,Go MCP 库应运而生。本文将介绍如何在 Go 语言里面构建一个 MCP 客户端。 mcp-go要构建 MCP 客户端和服务器,我们需要使用 mcp-go 库。 mcp-go 是 Go 语言实现的 Model Context Protocol(MCP)库,通过这个库可以实现 LLM 应用与外部数据源和工具之间的无缝集成。 主要特点快速:高级接口意味着更少的代码和更快的开发速度简单:使用极少的样板代码构建 MCP 服务器完整:MCP Go 旨在提供 MCP 核心规范的完整实现安装 MCP 库在 Go 项目根目录下,执行以下命令 :go get github.com/mark3labs/mcp-go构建 MCP 客户端接下来,我们使用 mcp-go 提供的 client 模块,构建一个通过 stdio 方式连接到打包好的 MCP
The custom adapter needs to implement Pilot serviceregistry.Instance go interface. MCP Server Blue arrows show the second way: writing your own MCP server to populate Pilot service model The MCP Server fetches services and service instances from the service registry, converts them into ServiceEntry and WorkloadEntry Istio resources, and pushes them to the Pilot MCP config Controller via the MCP protocol For other service registries, there’re three options available: service registry adapter, MCP Server,
大多数开发者使用的 MCP 服务器开发库是官方提供的 typescript-sdk,而作为 Go 开发者,我们也可以借助优秀的第三方库去开发 MCP 服务器,例如 ThinkInAIXYZ/go-mcp 本文将详细介绍如何在 Go 语言中使用 go-mcp 库来开发一个查询 IP 信息的 MCP 服务器。准备好了吗?准备一杯你最喜欢的咖啡或茶,随着本文一探究竟吧。 命令# 在类 Unix 系统(Linux/macOS)上 go build -o mcp-ip-geo . /cmd/mcp-ip-geo # 在 Windows 上 go build -o mcp-ip-geo.exe . -p 8000:8000 mcp-ip-geo-server 安装预编译版本使用 Go 安装最新版本的服务:go install github.com/chenmingyong0423/mcp-ip-geo